// 搜索相关类型定义

// 导入Photo类型
import type { Photo } from './photo'

/**
 * 搜索参数
 */
export interface SearchParams {
  query?: string
  filters?: SearchFilters
  page?: number
  limit?: number
}

/**
 * 搜索筛选条件
 */
export interface SearchFilters {
  dateFrom?: string | null
  dateTo?: string | null
  cameraMake?: string
  cameraModel?: string
  rating?: number | null
  tags?: number[]
  albums?: number[]
  bounds?: {
    north: number
    south: number
    east: number
    west: number
  }
}

/**
 * 搜索结果响应
 */
export interface SearchResponse {
  photos: Photo[]
  pagination: {
    page: number
    limit: number
    total: number
    totalPages: number
  }
}

/**
 * 照片列表响应
 */
export interface PhotoListResponse {
  photos: Photo[]
  pagination: {
    page: number
    limit: number
    total: number
    totalPages: number
  }
}

/**
 * 相册列表响应
 */
export interface AlbumListResponse {
  albums: any[]
  pagination: {
    page: number
    limit: number
    total: number
    totalPages: number
  }
}

/**
 * 标签列表响应
 */
export interface TagListResponse {
  tags: any[]
  pagination: {
    page: number
    limit: number
    total: number
    totalPages: number
  }
}

/**
 * 搜索建议
 */
export interface SearchSuggestion {
  type: string
  value: string
  count: number
}

/**
 * 热门标签
 */
export interface PopularTag {
  id: number
  name: string
  color?: string
  photo_count: number
}

/**
 * 相机信息
 */
export interface CameraInfo {
  value: string
  count: number
}